/**
 * Copyright 2020 Inc.
 **/
package com.myz.cloud.stream.rocketmq.producer.stream;

import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.annotation.StreamListener;
import org.springframework.cloud.stream.messaging.Sink;
import org.springframework.cloud.stream.messaging.Source;
import org.springframework.messaging.Message;
import org.springframework.stereotype.Component;

/**
 * Processor
 * 如果序列以source开始，以sink结束，应用间的所有通讯都是直接的，不会绑定任何通道。
 * 如果序列以processor开始，那么它的输入通道将成为聚合的Input通道，并进行相应的绑定。
 * 如果序列以processor结束，那么它的输出通道将成为聚合的Output通道，并进行相应的绑定。
 *
 * @author maoyz0621 on 2020/8/17
 * @version v1.0
 */
@Component
@EnableBinding({Source.class, Sink.class})
@Slf4j
public class ReceiveClient {

    @StreamListener(value = Sink.INPUT)
    public void receive(Message message) {
        System.out.println(message.getPayload().toString());
    }
}